#-*- coding: utf8 -*-

from tutor.script import *
from tutor.plugin.maple import *

# meta information
meta(author       = 'Fábio Mendes',
     creationdate = datetime(2010, 10, 9),
     status       = 'testing',
     difficulty   = 'easy',
     time         = 10,
     itemtype     = 'test')

# seleciona pontos
m = oneof(1, 2, 3, 4, 6, 8) / M(2)
n = oneof(1, 2, 3, 4, 6, 8) / M(2)
a = oneof(1, 2, 3, 4, 6, 8) / M(2)
b = oneof(1, 2, 3, 4, 6, 8) / M(2)
m, n = min(m, n), max(m, n)
assert a != b
assert n != m
print('m=%s, n=%s, a=%s, b=%s' % (m, n, a, b))

# define ponto de intersecção
ptx = M.simplify((b/a)**(M(1)/(n - m)))
pty = M.simplify(a * ptx**n)
ya = a * x**n
yb = b * x**m
assert pty != 1

question('Qual das integrais iteradas determina a área da região entre as curvas '
         '$y=#1$ e $y=#2$?', ya, yb)
multiplechoice()

intxy = '$\\int_{#1}^{#2} dx \\int_{#3}^{#4} dy$'
intyx = '$\\int_{#1}^{#2} dy \\int_{#3}^{#4} dx$'

# choice: (a)
choice(1, intxy, 0, ptx, ya, yb)
explanation('Escolha correta!') 

# choice: (b)
choice(0.5, intxy, 0, 1, ya, yb)
explanation('Não determinou corretamente o ponto de intersecção entre as duas curvas') 

# choice: (c)
choice(0, intxy[:-1] + '\\ #5', 0, ptx, 0, pty, yb - ya, '$')
explanation('A noção de integral como \\emph{área} abaixo de uma curva '
            'é válida para \\emph{integrais simples}.') 

# choice: (d)
choice(0, intxy, 0, ptx, 0, pty)
explanation('Integrou sobre um quadrado!') 

# choice: (e)
choice(0, intxy, 0, ptx, 0, yb)
explanation('Define a área abaixo da curva $', yb, '$.') 

# choice: (f)
choice(0, intxy, 0, ptx, 0, ya)
explanation('Define a área abaixo da curva $', ya, '$.')

# choice: (g)
choice(0, intxy[:-1] + '\\ #5', 0, ptx, 0, yb, ya, '$')
explanation('Misturou a noção de integral como \\emph{área} abaixo de uma curva '
            '(cálculo 1) com integrais duplas (cálculo 3).') 

end()